<?php

/**
 * TMTphp
 *
 * 一款适用于PHP5.3以上版本的PHP企业级开发框架
 *
 * @package		TMTphp
 * @author		特米特研发小组---54Team 
 * @copyright	        Copyright (c) 2012 - 2015, 绍兴市宇捷信息技术有限公司.
 * @license		http://www.54cxy.com/user_guide/license.html
 * @link		http://tmtphp.54cxy.com
 * @since		Version 1.0 Alpha
 * @filesource
 */
// ------------------------------------------------------------------------

/**
 *
 * 项目配置处理类
 *
 * 实现类\core\config
 * 
 * config核心类用于处理各种级别配置变量，常量的配置，可用于获取或设置全局配置，应用配置以及模块配置，装饰窗配置等。
 * config类里具备项目中所需的全部配置变量，常量及用于获取或处理配置的静态方法
 *
 * @package	TMTphp
 * @subpackage	core
 * @category	core
 * @author      54 Team
 * @link	http://tmtphp.54cxy.com/user_guide/core/
 */

namespace api\core;

abstract class config {

    private $com; //组件名
    public static $config; //项目配置

    /**
     * 
     * 构造方法，初始化组件名
     * 
     * @param string $com 
     */

    public function __construct($com = null) {
        $this->com = $com;
    }

    /**
     * 默认常量配置 
     */
    abstract static public function setGlobal();

    /**
     * 
     * MVC框架组件多级配置处理方法
     * 
     * @param array $config
     * @param array $call
     * @return array $config
     */
    static public function getFrame($config, $call){
        return $config;
    }

    /**
     * 
     * 路由多级配置处理方法
     * 
     * @param array $config
     * @param array $file
     * @return array $config
     */
    static public function getRoute($config, $file){
        return $config;
    }
    /**
     * 
     * 获取装饰窗配置方法
     * 
     * @param array $asset
     * @return array $config
     */

    static public function getAsset($asset){
        return $config;
    }

    /**
     * 初始化组件方法
     * @param array $config
     * @return object \core\initcom 
     */
    public function init($config) {
        $com = $this->com;
        $initcom = "\\components\\$com\\init";
        $do = new $initcom($config);
        return $do;
    }

}

?>
